#pragma once
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>		// Header File For Windows
#include <gl\gl.h>			// Header File For The OpenGL32 Library
#include <gl\glu.h>			// Header File For The GLu32 Library
#include <gl\glaux.h>		// Header File For The Glaux Library

#ifdef _EXPORT_CGLDRAW_DLL_
	#define _DLL_CGLDRAW_ __declspec(dllexport)
#else
	#define _DLL_CGLDRAW_ __declspec(dllimport)
#endif


class 
#ifndef LINUX_VERSION
	_DLL_CGLDRAW_
#endif
	CGLDraw
{
//=============== Data member ================
protected:
	bool m_IsFullScreen;
	HDC				m_hDC;			// Private GDI Device Context
	HGLRC			m_hRC;			// Permanent Rendering Context
	HWND				m_hWnd;			// Holds Our Window Handle
	HINSTANCE	m_hInstance;	// Holds The Instance Of The Application
//=============== Member function =============
public:
	CGLDraw(void);
	~CGLDraw(void);

	bool CreateGLWindow(char* title, int width, int height, int bits,  &WndProc, bool fullscreenflag = false);
	GLvoid KillGLWindow(GLvoid);

protected:
	virtual void Inintialize(void);
	bool InitGL(GLvoid);															// All Setup For OpenGL Goes Here
	int DrawGLScene(GLvoid)												// Here's Where We Do All The Drawing
	GLvoid ReSizeGLScene(GLsizei width, GLsizei height);		// Resize And Initialize The GL Window

};
